1. Field of the Invention
This invention relates to computer system memories and, more particularly, to memory module configurations.
2. Description of the Related Art
Many modern computer systems allow for memory expansion using memory modules. Two commonly used types of memory modules are single inline memory modules (SIMMs) and dual inline memory modules (DIMMs). SIMMs and DIMMs include small, compact circuit boards that are designed to mount easily into an expansion socket mounted on another circuit board, such as a computer system motherboard. The memory module circuit boards used to implement SIMMs and DIMMs include an edge connector that has contact pads or pins that are typically arranged on both sides of the circuit board. On SIMMs, opposing contact pads are connected together (i.e. shorted), and thus carry the same signal, while at least some of the opposing contact pads on DIMMs are not connected together, thus allowing different signals to be carried on opposing contact pads. Accordingly, DIMMs typically have a higher signal density than SIMMs.
Many memory devices mounted on SIMMs and DIMMs are devices in the Dynamic Random Access Memory (DRAM) family of devices or ‘chips’. Examples of some DRAM chips include Synchronous DRAM (SDRAM) chips and Double Data Rate SDRAM (DDRSDRAM) chips. SIMMs and DIMMs are normally available in various total memory capacities. For example, they may be available in 64, 128 or 256 Megabyte capacities. The various capacities are achieved in several ways. The first is selection of memory chips having a given address space and byte size. For example, a given chip may have a four-megabyte address space (i.e., four million separate addressable memory locations, with each location storing sixteen bits). Such a chip can provide storage of four million sixteen-bit words, and may be referred to as a 4M×16 chip. Since memory capacity is often rated in terms of how many eight bit words the memory stores, such a chip may be considered to have eight-megabyte memory capacity. For a given size of memory chip, memory module capacity can be increased by using multiple chips on a board and increasing data bus width so that the data at the same addressed location in each chip can be read out to the bus simultaneously. For example, if three 4M×16 chips are used, the bus width would need to be at least forty-eight to allow all of the bits at a selected address to be read out to the bus at the same time. A module with three 4M×16 chips can be considered to have a total capacity of twelve million sixteen-bit bytes, but may be called a twenty-four megabyte memory in terms of eight-bit bytes.
From the above examples, it may be shown that reliability of a memory module may decrease with an increase in memory capacity and data path width. If the data path width increases due to an increase in the number of memory chips used to create the width, then the failure rate for the memory module increases. One method of calculating the average life of the memory module is the parts count method. Using the parts count method, the mean time between failure (MTBF) of an assembly (e.g., memory module) is calculated using the inverse of the sum the individual failure rates of each component. Thus, if the number of components increases, then the failure rate for the memory module increases and the MTBF decreases.
In addition, as higher capacity memory devices become available in the market, at some point in the higher capacity memory device timeline, the higher capacity devices enter what is referred to as the “sweet spot” of the price/performance charts. This generally means to the purchaser, that the device cost on a per bit basis gives the best cost for a given amount of performance. Thus, if a purchaser continues to use older smaller capacity devices, the will move out of the sweet spot since the performance may no longer be in the desired range for a given cost model. Thus, it is generally desirable to use devices that are in the sweet spot of the price/performance chart. To that end, it may make sense to transition to using higher capacity memory devices on a given memory module even while the given memory module is still widely used. However in many cases, doing so may present system compatibility issues.